feat(skills): add fingerprint-ci-gate skill - #460
Open
liarjsdev wants to merge 3 commits into
Open
Conversation
Contributor
|
👋 This PR needs a couple of things fixed before OpenHands can review it:
Push an update once this is addressed and this check re-runs automatically. This is an automated check - no AI was used to generate this comment. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Browser automation breaks silently: a base image bump changes the font set, a driver upgrade changes a CDP-visible property, a stealth patch stops applying. Nothing fails at build time and the breakage surfaces later as blocked or flaky end-to-end runs. There is no skill in
skills/that turns that class of regression into a build-time signal.Summary
skills/fingerprint-ci-gate/SKILL.md(categorycode-quality): save a baseline fingerprint scan as JSON, diff later runs against it, fail the job when the consistency score drops or a previously passing check starts failing, with the GitHub Actions wiring included.marketplaces/openhands-extensions.json, regeneratesskills/index.jsand the README catalog section.EXPECTED_CATEGORY_COUNTS["code-quality"]6 to 7 intests/test_skills_catalog.py, which is required for any newcode-qualityentry.Issue Number
N/A
How to Test
Repo-level checks:
The skill itself needs Node 22 or newer and no account:
What I ran locally before opening this, and the result:
npm run build:skills- catalog regenerated, the new entry appears withcategory: "code-quality".python scripts/sync_extensions.py- README catalog section updated. Theplugins/issue-duplicate-checkercoverage warning it prints pre-exists onmainand is untouched here.pytest tests/test_skills_catalog.py tests/test_catalogs.py- 48 passed. Without theEXPECTED_CATEGORY_COUNTSbump,test_category_distribution_is_balancedfails.openhandsSDK, and thenpx liarjscommands above were not executed inside this repo's CI environment. Saying so plainly rather than implying coverage I did not produce.Video/Screenshots
Not applicable - this PR adds a Markdown skill and catalog metadata, no UI surface.
Notes
Disclosure: the skill drives liarjs, an npm-published fingerprint consistency checker, and I maintain it. It runs through
npx, requires no account or API key, and the skill documents--offlineand--endpointso a CI job can run it fully self-contained with no calls to any hosted service.